package com.example.mytest6;

import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;

import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieData;
import com.github.mikephil.charting.data.PieDataSet;
import com.github.mikephil.charting.data.PieEntry;
import com.github.mikephil.charting.formatter.IValueFormatter;
import com.github.mikephil.charting.formatter.ValueFormatter;
import com.github.mikephil.charting.utils.ViewPortHandler;

import java.text.DecimalFormat;
import java.util.ArrayList;


public class MyFragment2 extends Fragment {
    private PieChart pie2;
    private String TAG = "MyFragment2";

    public MyFragment2() {
    }


    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = LayoutInflater.from(getContext()).inflate(R.layout.myfragment2, container, false);
        initview(view);
        initDate();
        return view;
    }

    public void initview(View view) {
        pie2 = view.findViewById(R.id.pie_chart2);
    }

    public void initDate() {


        //  饼图说明    就是一行文字   用来说明这个图是描述什么的
        pie2.setDescription(null);
        //  是否中心为空
        pie2.setDrawHoleEnabled(false);
        //  能否转动
        pie2.setRotationEnabled(false);
        //  设置图中图例标签的颜色
        pie2.setEntryLabelColor(Color.BLACK);

        //图例  文字大小   形状大小  位置
        Legend legend = pie2.getLegend();
        legend.setFormSize(15);
        legend.setTextSize(15);
        legend.setVerticalAlignment(Legend.LegendVerticalAlignment.BOTTOM);
        legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.CENTER);
//        legend.setPosition(Legend.LegendPosition.BELOW_CHART_CENTER);

        //应该叫饼图数据线集合   折线图和柱状图一样  是数据的集合   可能名字不一样
        final ArrayList<PieEntry> Values = new ArrayList<PieEntry>();
        Values.add(new PieEntry(86.10f, "无重复违章"));
        Values.add(new PieEntry(13.80f, "有重复违章"));
        //PieDataSet   负责数据加载   也负责饼图数据设置
        PieDataSet dataSet = new PieDataSet(Values, "");
        //数据之间的空隙
        dataSet.setSliceSpace(3);
        //同MyFragment1
        dataSet.setValueLinePart1OffsetPercentage(pie2.getHoleRadius() * 2);
        dataSet.setValueLinePart1Length(0.7f);
        dataSet.setValueLinePart2Length(0.2f);


        int colors[] = {Color.RED, Color.BLUE};
        dataSet.setColors(colors);

        //数据标签中 yV.get(0).getValue() 大小   即数据的大小
        dataSet.setValueTextSize(14);
        //格式
        dataSet.setValueFormatter(new MyPie2DataFormatter());
        //数据   数据说明
        dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
        dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
        pie2.setData(new PieData(dataSet));
        //这就是我的青春啊 这歌真的好怀念啊  md  再也不在写代码时听歌了
    }

    class MyPie2DataFormatter extends ValueFormatter {
        DecimalFormat format = new DecimalFormat("0.00%");

        @Override
        public String getPieLabel(float value, PieEntry pieEntry) {
            Log.e(TAG, "getPieLabel: " + pieEntry.getValue() + "=" + value);
            return format.format(value / 100);
        }
    }


}
